﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
using Model.Auxiliar;


namespace HRP.Private.Funcionarios.Controlos
{
    public partial class Ver_Adiantamentos : System.Web.UI.UserControl
    {

        private string _NumFuncionario
        {
            get
            {
                if (ViewState["NumFuncionario"] != null)
                {
                    return (string)ViewState["NumFuncionario"];
                }
                return string.Empty;
            }
            set
            {
                ViewState["NumFuncionario"] = value;
            }
        }

        public string NumFuncionario
        {
            get
            {
                return _NumFuncionario;
            }
            set
            {
                _NumFuncionario = value;
            }
        }

        public Funcionario FuncionarioActual { get; set; }

        void Page_PreRender(object sender, EventArgs e)
        {
            if (FuncionarioActual != null)
            {
                if (!Page.IsPostBack)
                {
                    NumFuncionario = FuncionarioActual.Dados.id.ToString();
                }
                NumFuncionario = FuncionarioActual.Dados.id.ToString();
                carregarAdiantamentos();
            }


        }

        protected void Page_Load(object sender, EventArgs e)
        {
            Page.PreRender += Page_PreRender;
        }

        void carregarAdiantamentos()
        {
            int idfunc = 0;
            //Int32.TryParse(Request.QueryString["id"], out idfunc);
            idfunc = FuncionarioActual.Dados.id;
            adiantamentosTable.DataSource = Funcionario_BLL.Instance.obterAdiantamentosFuncionario(idfunc);
            adiantamentosTable.DataBind();
        }

        public void alterarEstadoAdiantamento(Object sender, CommandEventArgs e)
        {
            int adiantamentoID = 0;
            Int32.TryParse(e.CommandArgument.ToString(), out adiantamentoID);
            if (adiantamentoID != 0 && Session["idclient"] != null && Session["userid"] != null)
            {
                Funcionario_BLL.Instance.CancelarAdiantamentos(adiantamentoID, false, Session["userid"].ToString(),
                    Request.UserHostAddress);
            }
        }


        public void ImprimirComprovativo(Object sender, CommandEventArgs e)
        {

            int adiantamentoID = 0;
            Int32.TryParse(e.CommandArgument.ToString(), out adiantamentoID);

            HttpContext context = HttpContext.Current;
            Page page = (Page)context.Handler;
            string url = "/private/Impressoes/Adiantamento.aspx?id=" + adiantamentoID +"&funcId=" + NumFuncionario;

            string script;
            script = @"window.open(""{0}"", ""{1}"");";

            script = String.Format(script, url, "_blank");
            ScriptManager.RegisterStartupScript(page, typeof(Page), "Redirect", script, true);
        }
    }
}